Missing prototypes (Kevin)
Bad n_rid_blocks computation (Anthony)
Bad pte when single-entry dtlb lookup is successful (Kevin)
ridbits = IA64_MIN_IMPL_RID_BITS;
// convert to rid_blocks and find one
- n_rid_blocks = ridbits - IA64_MIN_IMPL_RID_BITS + 1;
+ n_rid_blocks = 1UL << (ridbits - IA64_MIN_IMPL_RID_BITS);
// skip over block 0, reserved for "meta-physical mappings (and Xen)"
for (i = n_rid_blocks; i < MAX_RID_BLOCKS; i += n_rid_blocks) {
/* check 1-entry TLB */
if ((trp = match_dtlb(vcpu,address))) {
dtlb_translate_count++;
- *pteval = trp->page_flags;
+ //*pteval = trp->page_flags;
+ *pteval = trp->arch.dtlb_pte;
*itir = trp->itir;
return IA64_NO_FAULT;
}
#define memguard_unguard_range(_p,_l) ((void)0)
#endif
+// prototype of misc memory stuff
+unsigned long __get_free_pages(unsigned int mask, unsigned int order);
+void __free_pages(struct page *page, unsigned int order);
+void *pgtable_quicklist_alloc(void);
+void pgtable_quicklist_free(void *pgtable_entry);
+
// FOLLOWING FROM linux-2.6.7/include/mm.h
/*